package graphics.rasterizing.shading;

import graphics.rasterizing.model.Triangle;

/**
 * An object that finds the shading of a particular point on a triangle.
 */
public interface Shader {
	/**
	 * 
	 * @param {alpha,beta,gamma} these are the barycentric coordinates of the
	 *        point that is to be shaded.
	 * @param tri
	 *            The triangle on which we are shading.
	 * @return The color that has to be displayed in the following format
	 *         [R%,G%,B%,alphachannel%]
	 */
	public float[] shade(float alpha, float beta, float gamma, Triangle tri);
}
